﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;

namespace COC.GameLogic
{
	public abstract class WActorBase
	{
		public WActorBase(string name)
		{
			m_name = name;
		}

		protected string m_name;
		public string Name
		{
			get { return m_name; }
			set { m_name = value; }
		}

		public Vector3 Direction
		{
			get
			{
				return Vector3.TransformNormal(new Vector3(0, 0, 1), m_LocalToWorldMat);
			}
		}

		protected Vector3 m_Position;
		public Vector3 Position
		{
			get { return m_Position; }
			set { m_Position = value; }
		}

		protected Vector3 m_Rotation;
		public Vector3 Rotation
		{
			get { return m_Rotation; }
			set { m_Rotation = value; }
		}

		internal Matrix m_LocalToWorldMat = Matrix.Identity;
		public Matrix LocalToWorldMat
		{
			get { return m_LocalToWorldMat; }
		}
	}
}